1. Field of the Invention
The present invention relates to a data flow parallel processing apparatus and method, and more particularly, to a data flow parallel processing apparatus and method that may process data at high speed while maintaining a sequence of data, regardless of a number of flows of data.
2. Description of the Related Art
A data processing apparatus may be expected to perform high speed data processing, and thus, the data processing apparatus may use a processor array including a plurality of processors to perform parallel processing of data. In this case, maintaining a sequence of input data is important when the data processing apparatus processes the data at high speed.
As a parallel processing method that may maintain the sequence of input data while performing the data processing at high speed, a data processing apparatus that allocates data to a processor for each flow of the data to process the data has been disclosed.
The disclosed data processing apparatus discriminates a flow of data, generates flow identification information, and determines whether other data having the same flow is processed by a processor based on the flow identification information. The disclosed data processing apparatus allocates the data to an idle processor that is not processing to process the data, when the other data having the same flow is not processed. Conversely, when the other data having the same flow is processed by the processor, the disclosed data processing apparatus awaits until the processing of the other data having the same flow is completed, and then may allocate the data to the processor to process the data.
The disclosed data processing apparatus appropriately performs the data processing when a number of flows is greater than a number of processors, and a bandwidth of each flow is low. However, when the number of the flows is less than the number of processors or a bandwidth of a flow exceeds a bandwidth that a single processor may handle, a performance may no longer increase and a plurality of idle processors may not be operating while the other data having the same flow is processed, and thus, efficiency may decrease.